package com.syf.kit.soa.config;

import com.syf.kit.soa.SOACont;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@NoArgsConstructor
@ConfigurationProperties(prefix = "kit.service.soa-client")
public class SySOAClientConfiguration {
    /**
     * RPC 是否采用长连接池
     */
    private Boolean usePooledConn = true;

    /**
     * 魔数
     */
    private String magicNum = SOACont.DEFAULT_MAGIC_NUM;

    /**
     * 连接超时时间，单位：MS
     */
    private Long connTimeoutMs = 5000L;

    /**
     * 请求超时时间，单位：MS
     */
    private Long reqTimeoutMs = 10000L;

    /**
     * 连接池的最大数
     */
    private Integer connPoolMaxSize = 10;

    /**
     * 连接池的空闲数
     */
    private Integer connPoolIdleSize = 2;

    /**
     * 长连接的心跳间隔，单位:MS
     *
     * 此值必须小于syf-rpc-server中定义的空闲断开时间配置（参数名：IDLE_MAX_SECONDS）.
     */
    private Long beatInterval = 60000L;
}
